// pages/goods_detail/index.js
import {request,formatTime} from "../../utils/util";
const app=getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        goodsinfo:{},
        iscollect:false
    },
    stgoods:{},
    //hostoryshop:[],
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        //获取传过来的值商品ID
        console.log(options.goodsid);
        this.getgoodsinfo(options.goodsid);
        console.log(this.stgoods);
    },
    //请求商品的所有信息
    async getgoodsinfo(goodsid){
        let res=await request({
            url:`${app.globalData.url}goods/detail`,
            data:{
                goods_id:goodsid
            }
        });
        if(res.meta.status===200){//成功
            this.stgoods=res.message;
            //获取收藏的
            let collect=wx.getStorageSync('collect')||[];
            //获取足迹
            let hos=wx.getStorageSync('hostoryshop')||[];
            //找到当前的商品的ID 没有就直接放进去 有就把对应商品的时间改变
            let index=hos.findIndex((v)=>this.stgoods.goods_id==v.goods_id);
            //没有找到就返回-1 有就返回下边
            if(index===-1){
                //添加当前时间属性
            this.stgoods.historytime=formatTime(new Date());
            //放刚刚点击的视频到历史足迹数组
            hos.push(this.stgoods);
            // //把原来存在的足迹在放进去
            // this.hostoryshop.push(hos)
            console.log(hos);
            }else{
                //把浏览过的商品的时间进行改变
                hos[index].historytime=formatTime(new Date());
            }
            //存足迹
            wx.setStorageSync('hostoryshop',hos);
            //收藏的内容的ID==请求返回的内容 就返回true 否则是 false
            let istureflasecon=collect.some((item)=>{
                if(item.goods_id===this.stgoods.goods_id){
                    return true;
                }else{
                    return false;
                }
            });
            console.log(istureflasecon);
            this.setData({
                goodsinfo:{
                    //ID
                    goods_id:res.message.goods_id,
                    //价格
                    goods_price:res.message.goods_price,
                    //名字
                    goods_name:res.message.goods_name,
                    //轮播图
                    pics:res.message.pics,
                    //图片详情html
                    goods_introduce:res.message.goods_introduce
                },
                iscollect:istureflasecon
            });
        }else{
            //失败
            wx.showToast({
                title: res.meta.msg,
                icon: 'error',
                duration: 2000,
                mask:true
            })
        }
    },
    //收藏
    clickcollect(){
       let collect=false;
       //获取缓存的收藏
       let collectall=wx.getStorageSync('collect') || [];
       console.log(this.stgoods);
       //判断是否被收藏 item是当前项 index下标
        let index=collectall.findIndex((item)=>{//不能自己判断返回
            return item.goods_id===this.stgoods.goods_id;
        });
        console.log(index);
        //没有找到
        if(index===-1){
            //没有找到就放回收藏的数组里面
            collectall.push(this.stgoods);
            collect=true;
            wx.showToast({
                title: '收藏成功',
                icon:"success",
                mask:true
            })
        }else{//找到
            //找到了的删除一条
            collectall.splice(index,1);
            collect=false;
            wx.showToast({
                title: '取消成功',
                icon:"success",
                mask:true
            })
        }
        //放回本地储存
        wx.setStorageSync('collect',collectall);
        //从新设置状态
        this.setData({
            iscollect:collect
        });
        console.log('112:'+this.data.iscollect);
    },
    //点击轮播图预览
    clicksw(e){
        //获取所有轮播图
        console.log(this.stgoods.pics);
        let imgarr=this.stgoods.pics.map((v)=>v.pics_big_url);
        wx.previewImage({
            //当前预览的图
            current:e.currentTarget.dataset.pic,
            urls:imgarr
        })
    },
    //进入购物车
    clickaddcar(){
        //取出购物车的值
        let cargoods=wx.getStorageSync('car')||[];
        //遍历是否加入了购物车
        let index=cargoods.findIndex((item)=>{
            return item.goods_id===this.stgoods.goods_id;
        })
        if(index===-1){//没有加入
            //加入一个数字属性
            this.stgoods.number=1;
            //选中
            this.stgoods.checked=true;
            cargoods.push(this.stgoods);
        }else{//加入了就数量增加
            cargoods[index].number++;
        }
        //放回本地储存
        wx.setStorageSync('car',cargoods);
        wx.showToast({
            title: '加入成功',
            icon: 'success',
            mask: true
        })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})
